package com.wyw.design.model.learning.behavioral.mediator;

/**
 * @Title   具体测试类
 * @Description 每个同事角色都知道中介者角色的存在
 *              比如房屋买卖中，卖家和买家都知道房产中介的存在一样，也就是同事角色间进行通信时都必须依赖于中介者角色
 *              当然，如果同事角色只是简单对自身状态进行变更，不会影响其他同事角色的状态时就不需要中介者角色
 *              这种同事角色自发改变自身行为的行为称为自发行为，第二种行为就是依赖其他对象进行操作的行为。
 * @Author Mr Wu yewen.wu.china@gmail.com
 * @Date 2023/4/18 10:46
 * Update History:
 * Author        Time            Content
 */
public class Client {
    public static void main(String[] args) {
        // 声明中介者
        Mediator mediator = new ConcreteMediator();
        // 定义两个同事角色
        Colleague1 c1 = new Colleague1(mediator);
        Colleague2 c2 = new Colleague2(mediator);

        // 给中介者设置同事角色
        mediator.setC1(c1);
        mediator.setC2(c2);

        c1.depMethod1();
    }
}
